package com.itheima.mm.dao;

import com.itheima.mm.entity.QueryPageBean;
import com.itheima.mm.pojo.Course;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ShenHD
 * @Date 2021/8/11
 */
public interface CourseDao {
    /**
     * 添加学科
     * @param course
     */
    Integer addCourse(Course course);

    /**
     * 分页获取学科列表
     * @param queryPageBean
     * @return
     */
    List<Course> selectListByPage(QueryPageBean queryPageBean);

    /**
     * 基于条件获取学科记录总数
     * @param queryPageBean
     * @return
     */
    Long selectTotalCount(QueryPageBean queryPageBean);

    /**
     * 分页获取学科列表
     * @param status
     * @return
     */
    List<Course> selectListByNameAndStatus(@Param("name") String name, @Param("status") Integer status,
                                           @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);



    /**
     * 更新学科信息
     * @param course
     */
    Integer updateCourse(Course course);

    /**
     * 删除学科信息
     * @param id
     */
    Integer deleteCourse(Integer id);
    /**
     * 统计学科下标签数量
     * @param id
     * @return
     */
    Long selectCountTagById(Integer id);

    /**
     * 统计学科下目录数量
     * @param id
     * @return
     */
    Long selectCountCatalogById(Integer id);

    /**
     * 获取全部学科、学科目录及学科标签列表
     * 为题库录入
     * @return
     */
    List<Course> selectListAll();
}
